package com.uzai.console.dto.pyq.pyqautoconfig;

import com.google.common.collect.Lists;
import com.uzai.console.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年08月26日 14:31
 */
@ApiModel("朋友圈自动发圈配置参数")
public class PyqAutoConfigDto extends BaseDto {

    @ApiModelProperty("主键id(新建时不需要上传)")
    private Long id;

    @ApiModelProperty("任务名称")
    private String name;

    @ApiModelProperty("状态（0关闭 1开启）")
    private Integer status;

    @ApiModelProperty("设备方案id")
    private Long devicePlanId;

    @ApiModelProperty("朋友圈类型 0商品 1图文 2-悠哉精品库淘宝商品；3-悠哉精品拼多多商品 10-悠哉精品库悠友圈")
    private Integer type;

    @ApiModelProperty("开始限制时间（HH:mm）")
    private String limitTimeStart;

    @ApiModelProperty("结束限制时间（HH:mm）")
    private String limitTimeEnd;

    @ApiModelProperty("发送频率最小值(每个几分钟发送一条)")
    private Integer rateMin;

    @ApiModelProperty("发送频率最大值(每个几分钟发送一条)")
    private Integer rateMax;

    @ApiModelProperty("发送周期(0-发送时间段内按频率发送；1-发送时间段内只发送1次)")
    private Integer sendCycle;

    @ApiModelProperty("不重复发送时间（默认为3天）")
    private Integer limitRepeatDay;

    @ApiModelProperty("屏蔽关键词列表")
    private List<String> ignoreList;

    @ApiModelProperty("朋友圈内容id(-100表示自定义模板)")
    private Long contentId;

    @ApiModelProperty("朋友圈内容")
    private String content;

    @ApiModelProperty("图片Url")
    private List<String> imgList;

    @ApiModelProperty("评论模板id")
    private Long commentId;

    @ApiModelProperty("自定义评论内容(JSON数组格式)")
    private String commentContent;

    @ApiModelProperty("支持图片md5加密（0关闭 1开启）")
    private Integer imgSecret;

    @ApiModelProperty("插入随机表情（0-关闭；1-开启）")
    private Integer emoji;

    @ApiModelProperty("发送随机图片（0-关闭；1-开启）")
    private Integer randomImg;

    @ApiModelProperty("是否发送商品自带评论（0-不发送；1-发送）")
    private Integer goodsComment;

    @ApiModelProperty("是否发送商品自带评论层数列表")
    private List<Integer> goodsCommentLevelList;

    @ApiModelProperty("短语替换旧词")
    private String replaceOld;

    @ApiModelProperty("短语替换新词")
    private String replaceNew;

    @ApiModelProperty("悠哉精品库悠友圈会员id")
    private Long yzjxGoodsUserId;

    @ApiModelProperty("素材类型(2-图文；5-视频号)")
    private List<Integer> materialTypeList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getDevicePlanId() {
        return devicePlanId;
    }

    public void setDevicePlanId(Long devicePlanId) {
        this.devicePlanId = devicePlanId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getLimitTimeStart() {
        return limitTimeStart;
    }

    public void setLimitTimeStart(String limitTimeStart) {
        this.limitTimeStart = limitTimeStart;
    }

    public String getLimitTimeEnd() {
        return limitTimeEnd;
    }

    public void setLimitTimeEnd(String limitTimeEnd) {
        this.limitTimeEnd = limitTimeEnd;
    }

    public Integer getRateMin() {
        return rateMin;
    }

    public void setRateMin(Integer rateMin) {
        this.rateMin = rateMin;
    }

    public Integer getRateMax() {
        return rateMax;
    }

    public void setRateMax(Integer rateMax) {
        this.rateMax = rateMax;
    }

    public List<String> getIgnoreList() {
        return ignoreList;
    }

    public void setIgnoreList(List<String> ignoreList) {
        this.ignoreList = ignoreList;
    }

    public Long getContentId() {
        return contentId;
    }

    public void setContentId(Long contentId) {
        this.contentId = contentId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Long getCommentId() {
        return commentId;
    }

    public void setCommentId(Long commentId) {
        this.commentId = commentId;
    }

    public String getCommentContent() {
        return commentContent;
    }

    public void setCommentContent(String commentContent) {
        this.commentContent = commentContent;
    }

    public Integer getImgSecret() {
        return imgSecret;
    }

    public void setImgSecret(Integer imgSecret) {
        this.imgSecret = imgSecret;
    }

    public List<String> getImgList() {
        return imgList;
    }

    public void setImgList(List<String> imgList) {
        this.imgList = imgList;
    }

    public Integer getEmoji() {
        return emoji;
    }

    public void setEmoji(Integer emoji) {
        this.emoji = emoji;
    }

    public Integer getRandomImg() {
        if(randomImg == null){
            randomImg = 0;
        }
        return randomImg;
    }

    public void setRandomImg(Integer randomImg) {
        this.randomImg = randomImg;
    }

    public Integer getGoodsComment() {
        if(goodsComment == null){
            goodsComment = 0;
        }
        return goodsComment;
    }

    public void setGoodsComment(Integer goodsComment) {
        this.goodsComment = goodsComment;
    }

    public String getReplaceOld() {
        return replaceOld;
    }

    public void setReplaceOld(String replaceOld) {
        this.replaceOld = replaceOld;
    }

    public String getReplaceNew() {
        return replaceNew;
    }

    public void setReplaceNew(String replaceNew) {
        this.replaceNew = replaceNew;
    }

    public Long getYzjxGoodsUserId() {
        return yzjxGoodsUserId;
    }

    public void setYzjxGoodsUserId(Long yzjxGoodsUserId) {
        this.yzjxGoodsUserId = yzjxGoodsUserId;
    }

    public List<Integer> getGoodsCommentLevelList() {
        return goodsCommentLevelList;
    }

    public void setGoodsCommentLevelList(List<Integer> goodsCommentLevelList) {
        this.goodsCommentLevelList = goodsCommentLevelList;
    }

    public Integer getLimitRepeatDay() {
        if(limitRepeatDay == null){
            limitRepeatDay = 3;
        }
        return limitRepeatDay;
    }

    public void setLimitRepeatDay(Integer limitRepeatDay) {
        this.limitRepeatDay = limitRepeatDay;
    }

    public List<Integer> getMaterialTypeList() {
        //默认图文
        if(materialTypeList == null || materialTypeList.size() == 0){
            materialTypeList = Lists.newArrayList(2);
        }
        return materialTypeList;
    }

    public void setMaterialTypeList(List<Integer> materialTypeList) {
        this.materialTypeList = materialTypeList;
    }

    public Integer getSendCycle() {
        if(sendCycle == null){
            sendCycle = 0;
        }
        return sendCycle;
    }

    public void setSendCycle(Integer sendCycle) {
        this.sendCycle = sendCycle;
    }
}


